<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script>
      /**
       * 在JS中为我们提供了3个包装类，通过三个包装类可以将基本数据类型转换为对象
       *
       * String()
       *     可以将基本数据类型字符串转换为String对象
       * Number()
       *     可以将基本数据类型字符串转换为Number对象
       * Bollean()
       *      可以将基本数据类型字符串转换为Bollean对象
       *   但是，我们在实际应用中不会使用基本数据类型的对象
       *    如果使用基本数据类型的对象，在做一些比较时可能会带来一些不可预期的结果
       *
       */
      // 创建一个Number类型的对象
      // num =3;
      var num = new Number(3);
      var str = new String("hello");
      var bool = new Boolean(true);

      // 向num中添加一个属性
      num.hello = "abcdefg";

      // console.log(num.hello);
      var b = new Boolean(false);
      /*
         * if(b){
            alert("我运行了");
        }
         */
      /**
       * 方法和属性只能添加给对象，不能添加给基本数据类型
       *   当我们对一些基本数据类型的值去调用属性和方法时，
       *     浏览器会临时使用包装类将其转换为对象，然后再调用对象的属性和方法
       * 调用完以后，再将其转换为基本数据类型
       */
      var s = 123;
      s = s.toString();
    </script>
  </head>
  <body></body>
</html>
